package com.shujia.day06;

/**
 * 这是针对数组的常用功能集合,例如逆序,遍历等功能
 * 这是32期一位大神编写的
 * @author 李刚
 * @version V1.0.0
 */
public class ArrayTool {

    private ArrayTool(){}

    /**
     * 该方法是针对元素是int类型数组的逆序
     * @param arr 参数是元素为int类型的一维数组
     * @return 返回排序后的数组地址
     */
    public static int[] niXu2(int[] arr) {
        for (int front = 0, end = arr.length - 1; front < end; front++, end--) {
            int tmp = arr[end];
            arr[end] = arr[front];
            arr[front] = tmp;
        }
        return arr;
    }

    /**
     * 该方法是以指定格式遍历元素为int类型的一维数组
     * 遍历后的结果为[元素1,元素2,...]
     * @param arr 参数是元素为int类型的一维数组
     */
    public static void printIntArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            if (i == 0) {
                System.out.print("[" + arr[i] + ",");
            } else if (i == arr.length - 1) {
                System.out.println(arr[i] + "]");
            } else {
                System.out.print(arr[i] + ",");
            }
        }
    }

    /**
     * 该方法是获取参数是元素为int类型的一维数组中的最大值
     * @param arr 参数是元素为int类型的一维数组
     * @return 返回数组中的最大值
     */
    public static int getMaxNumber(int[] arr){
        int maxNumber = arr[0];

        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > maxNumber) {
                maxNumber = arr[i];
            }
        }
        return maxNumber;
    }
}
